function deleteSql(id, a) {
		if (confirm('确定删除？')) {
			var templateId = $('#templateId').val();
			$.ajax({
				url:'deleteSyncTemplateSql.do',
				type:'POST',
				data:{'templateSqlId':id,'templateId':templateId},
				dataType:'json',
				success:function(data) {
					if (data.suc) {
						$(a).parent().parent().remove();
					} else {
						alert(data.message);
					}
				},
				error:function() {
					alert('系统异常');
				}
			});
		}
	};
	
	
	function testTargetSql(id, a) {
		var testSourceId = $('#testSourceId').val();
		var templateId = $('#templateId').val();
		if (!testSourceId) {
			alert('源表主键值必填');
			$('#testSourceId').focus();
			return;
		}
		$(a).parent().next().html('测试中...');
		$.ajax({
			url:'testSyncTemplateSql.do',
			type:'POST',
			data:{
				'templateId':templateId,
				'templateSqlId':id,
				'testSourceId': testSourceId,
				'testFieldOne':$('#testFieldOne').val(),
				'testFieldTwo':$('#testFieldTwo').val(),
				'testFieldThree':$('#testFieldThree').val()
			},
			dataType:'json',
			success:function(data) {
				var info = "";
				if (data.suc) {
					info = "成功执行" + data.count + "条数据";
				} else {
					info = data.message;
				}
				if (info.length > 20) {
					$(a).parent().next().attr('title', info);
					$(a).parent().next().html(info.substring(0, 20));
				} else {
					$(a).parent().next().attr('title', '');
					$(a).parent().next().html(info);
				}
			},
			error:function() {
				alert('系统异常');
				$(a).parent().next().html('失败');
			}
		});
	}

	function testTargetSql2(id, a,obj) {
		var testSourceId = $('#testSourceId').val();
		var templateId = $('#templateId').val();
		if (!testSourceId) {
			alert('源表主键值必填');
			$('#testSourceId').focus();
			return;
		}
		$(a).parent().next().html('测试中...');
		$.ajax({
			url:'testSyncTemplateSql.do',
			type:'POST',
			data:{
				'templateId':templateId,
				'templateSqlId':id,
				'testSourceId': testSourceId,
				'testFieldOne':$('#testFieldOne').val(),
				'testFieldTwo':$('#testFieldTwo').val(),
				'testFieldThree':$('#testFieldThree').val()
			},
			dataType:'json',
			success:function(data) {
				var info = "";
				if (data.suc) {
					info = "成功执行" + data.count + "条数据";
				} else {
					info = data.message;
				}
				if (info.length > 20) {
					$(a).parent().next().attr('title', info);
					$(a).parent().next().html(info.substring(0, 20));
				} else {
					$(a).parent().next().attr('title', '');
					$(a).parent().next().html(info);
				}
				
				$.each(obj, function(i, value) {
					if(i!=0){
					    $(this).trigger("click");
					}
				});
			},
			error:function() {
				alert('系统异常');
				$(a).parent().next().html('失败');
				$.each(obj, function(i, value) {
					if(i!=0){
					    $(this).trigger("click");
					}
				});
			}
		});
	}
	
	function batchTestTargetSql(a) {
		var obj = $(a).parent().parent().parent().parent().find("[name='testSql']");
		var testSourceId = $('#testSourceId').val();
		if(obj.length==0){
			alert('无可执行脚本!');
			return;
		}
		
		if (!testSourceId) {
			alert('源表主键值必填');
			$('#testSourceId').focus();
			return;
		}
		
		testTargetSql2($(obj[0]).attr("id"),obj[0],obj);
		
		
	}
	
	
	function findSyncTriggerById(){
		var templateId = $("#templateId").val();
		$.ajax({
			url:'findSyncTemplateById.do',
			type:'POST',
			data:{'templateId':templateId},
			dataType:'json',
			success:function(data) {

				$("#modal3").find('input[name="templateName"]').val(data.syncTemplate.templateName);
				$("#modal3").find('input[name="userName"]').val(data.syncTemplate.userName);
				$("#modal3").find('input[name="tableName"]').val(data.syncTemplate.tableName);
				$("#modal3").find('select[name="dataSourceId"]').val(data.syncTemplate.dataSourceId);
				$("#modal3").find('input[name="serverName"]').val(data.serverName);
				
				
                $("#modal3").modal('show');

			},
			error:function() {
				alert('系统异常');
			}
		});
	}
	
	function initCodeMirror(){
	   
	    	editor = CodeMirror.fromTextArea(document.getElementById('sqlContent'), {  
	        extraKeys: {"Tab": "autocomplete"},
	        indentWithTabs: true,  
	        smartIndent: true,  
	        lineNumbers: true,  
	        matchBrackets : true,  
	        autofocus: true,
	        lineWrapping:true,
	        size:'auto',
	        //theme: "ambiance",//主题 
	        styleActiveLine: true,
	    	//theme: "lesser-dark",
	      });  
	    
		
	    	//editor.on("change", function (editor, changes) {
	    	       //$("#sqlContent").text(editor.getValue());
	    	    
	    	//});	 

	}
	
	
	function openDialog(triggerType, sqlType, templateSqlId) {
		$("#modal2").modal('show');
		$("#modal2").find('input[name="triggerType"]').val(triggerType);
		$("#modal2").find('input[name="sqlType"]').val(sqlType);
		
		if (sqlType == 'SOURCE') {
			$("#sourceSqlIdDiv").hide();
		} else {
			$("#sourceSqlIdDiv").show();
			var trs = $("#SCRIPT_SOURCE_TABLE").find('tr.data_tr');
			$("#modal2").find('select[name="sourceSqlId"]').empty();
			for (var i = 0; i < trs.length; i++) {
				$("#modal2").find('select[name="sourceSqlId"]')
						.append('<option class="data" value="' + $(trs[i]).attr('sqlId') +
								'">' + $(trs[i]).attr('sqlDesc') + '</option>');
			}
		}
		if (templateSqlId != null) {
			$.ajax({
				url:'querySyncTemplateSql.do',
				type:'POST',
				data:{'templateSqlId':templateSqlId},
				dataType:'json',
				success:function(data) {	
					//$('.CodeMirror').remove();					
					$("#modal2").find('input[name="templateId"]').val(data.sql.templateId);
					$("#modal2").find('input[name="templateSqlId"]').val(data.sql.templateSqlId);
					$("#modal2").find('input[name="description"]').val(data.sql.description);
					$("#modal2").find('textarea[name="sqlContent"]').val(data.sql.sqlContent);
					$("#modal2").find('select[name="dataSourceId"]').val(data.sql.dataSourceId);
					$("#modal2").find('select[name="sourceSqlId"]').val(data.sql.sourceSqlId);
					$("#modal2").find('select[name="scriptType"]').val(data.sql.scriptType);

					$('#modal2').on('shown.bs.modal', function () {
						$("#sqlContent").next().remove();
						initCodeMirror();
						if(data.sql.scriptType=="SQL"){
							editor.setOption("mode","text/x-mysql");
						}else if(data.sql.scriptType=="GROOVY"){
							editor.setOption("mode","text/x-groovy");
						}else{
							editor.setOption("mode","text/x-mysql");
						}
						
						editor.focus();
						})
					
                   

				},
				error:function() {
					alert('系统异常');
				}
			});
		} else {
			$("#sqlContent").next().remove();
			//$('.CodeMirror').remove();					
			initCodeMirror();
			editor.setOption("mode","text/x-mysql");
			 //$("#modal2").modal('show');
		}
	};
	function getSQLInfo(triggerType, sqlType) {
		var info = triggerType;
		if (sqlType == 'SOURCE') {
			info += " 源";
		} else {
			info += " 目标";
		}
		return info;
	};
	
	function saveTemplate() {
		var $template_form = $('#template_form');
		var templateName = $.trim($template_form.find('input[name="templateName"]').val());
		if (!templateName) {
			alert('模板名称不能为空');
			$template_form.find('input[name="templateName"]').focus();
			return;
		}
		var userName = $.trim($template_form.find('input[name="userName"]').val());
		if (!userName) {
			alert('数据库用户名不能为空');
			$template_form.find('input[name="userName"]').focus();
			return;
		}
		var tableName = $.trim($template_form.find('input[name="tableName"]').val());
		if (!tableName) {
			alert('表名不能为空');
			$template_form.find('input[name="tableName"]').focus();
			return;
		}
		var dataSourceId = $.trim($template_form.find('select[name="dataSourceId"]').val());
		if (!dataSourceId) {
			alert('数据源不能为空');
			return;
		}
		var status = $.trim($template_form.find('select[name="status"]').val());
		if (!status) {
			alert('状态不能为空');
			return;
		}
		var description = $.trim($template_form.find('textarea[name="description"]').val());
		if (!description) {
			alert('描述不能为空');
			return;
		}

		$('#templateId3').val($('#templateId').val());
		
		$template_form.find('input[name=testSourceId]').val($('#testSourceId').val());
		$template_form.find('input[name=testFieldOne]').val($('#testFieldOne').val());
		$template_form.find('input[name=testFieldTwo]').val($('#testFieldTwo').val());
		$template_form.find('input[name=testFieldThree]').val($('#testFieldThree').val());
		$template_form.submit();
	};
	
	function saveTemplateSql() {
		var $form = $('#template_sql_form');
		var description = $.trim($form.find('input[name="description"]').val());
		if (!description) {
			alert('SQL描述不能为空');
			$form.find('input[name="description"]').focus();
			return;
		}
		var dataSourceId = $.trim($form.find('select[name="dataSourceId"]').val());
		if (!dataSourceId) {
			alert('数据源不能为空');
			return;
		}
		var sqlType = $form.find('input[name="sqlType"]').val();
		if (sqlType == 'TARGET') {
			var sourceSqlId = $.trim($form.find('select[name="sourceSqlId"]').val());
			if (!sourceSqlId) {
				alert('源SQL不能为空');
				return;
			}
		}
		var sqlContent = $.trim($form.find('textarea[name="sqlContent"]').val());
		if (!sqlContent) {
			alert('脚本内容不能为空');
			return;
		}
		$form.find('input[name=testSourceId]').val($('#testSourceId').val());
		$form.find('input[name=testFieldOne]').val($('#testFieldOne').val());
		$form.find('input[name=testFieldTwo]').val($('#testFieldTwo').val());
		$form.find('input[name=testFieldThree]').val($('#testFieldThree').val());
		$form.submit();
	};
	
	function queryInitStatusCount() {
		$.ajax({
			url:'queryInitStatusCount.do',
			type:'POST',
			data:{'templateId':$("#templateId").val()},
			dataType:'json',
			success:function(data) {
				$('#initCount').html(data.count);
			},
			error:function() {
			}
		});
	}
	
	function setCodeMirrorEditorScriptType(scriptType) {
		if(scriptType=="SQL"){
			editor.setOption("mode","text/x-mysql");
		}else{
			editor.setOption("mode","text/x-groovy");
		}
	}
	
	$(document).ready(function(){
		setInterval(queryInitStatusCount, 3000);
		$("#modal2").find('select[name="scriptType"]').change(function () {
			setCodeMirrorEditorScriptType($(this).val());
		});
		
		$('#modal2').on('hide.bs.modal', function () {
			$("#sqlContent").next().remove();
			})
	});